Dynamic Programming : Top-Down And Bottom-Up Implementations For Rod-Cutting Solutions